package com.ruoyi.workbench.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 事项(WorkMatter)实体类
 *
 * @author makejava
 * @since 2024-07-04 10:46:27
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WorkMatter extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 765398125690787437L;
    /**
     * 事项id
     */
    private Integer matterId;
    /**
     * 事项名
     */
    private String matterName;
    /**
     * 事项负责人ID
     */
    private Integer matterResponsibleId;
    /**
     * 事项关联人ID
     */
    private Integer matterRelatedPersonId;
    /**
     * 所属部门ID
     */
    private Integer deptId;
    /**
     * 关联法律ID
     */
    private Integer relatedLawId;
    /**
     * 关联制度ID
     */
    private Integer relatedPolicyId;
    /**
     * 关联指标或任务类型
     */
    private String relatedIndicatorOrTaskType;
    /**
     * 关联指标或者任务ID
     */
    private Integer relatedIndicatorOrTaskId;
    /**
     * 工作内容类型
     */
    private String workContentType;
    /**
     * 是否成立专班
     */
    private String isSpecialTeamFormed;
    /**
     * 是否重点工作
     */
    private Integer isKeyWork;
    /**
     * 事项完成期限
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date completionDeadline;
    /**
     * 关键词
     */
    private String keyWord;
    /**
     * 状态 0 正常 1删除
     */
    private Integer stat;
    /**
     * 创建人id
     */
    private Integer createUserId;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    /**
     * 更新人id
     */
    private Integer updateUserId;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 空余字段
     */
    private String em1;

    private String em2;

    private String em3;

    private String em4;

    private String em5;



    // requert
    /**
     * 是否超时
     */
    private String isTimeOut;

    /**
     * 是否关注
     */
    private String isFollow;





    // vo
    private String matterResponsible;

    private String dialogContent;

    private Boolean dialogStatus;

    private Boolean isFollowed;
    private String systemName;
    private String dept;
    private String collaborators;
    private String workPrtKeyNode;
    private String dialogUserName;
    private String dialogUserId;
    private Integer dialogId;

    private String matterResponsibleName;

    private List<WorkContent> workContentList;

    private String summaryResult;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date summaryDate; // 完成时间
    private String summaryReport;


    //超期天数
    private int overDueDay;

    // 协同需求
    private List<WorkCollaboration> workCollaborationList;

    // 落实情况
    private List<WorkMatterPracticable> workMatterPracticableList;

    // 催办
    private List<WorkDialog> workDialogList;

    private Long userId;
    private List<WorkReport> workReportList;

    private List<String> contentAndCollNameList;

    // 事项内容
    private String matterContent;

    // 是否为负责人
    private Boolean isLeader;

    // 是否是派发
    private String isPf;
}

